package com.haowu.customer.service;

import com.haowu.common.mybatis.core.page.PageQuery;
import com.haowu.common.mybatis.core.page.TableDataInfo;
import com.haowu.customer.api.domain.HwAppCustomer;
import com.haowu.customer.domain.bo.HwAppCustomerBo;
import com.haowu.customer.domain.vo.HwAppCustomerVo;

import java.util.Collection;
import java.util.List;

/**
 * 用户会员Service接口
 *
 * @author lky
 * @date 2023-02-10
 */
public interface IHwAppCustomerService {

    /**
     * 查询用户会员
     */
    HwAppCustomerVo queryById(Long id);

    /**
     * 查询用户会员列表
     */
    TableDataInfo<HwAppCustomerVo> queryPageList(HwAppCustomerBo bo, PageQuery pageQuery);

    /**
     * 查询用户会员列表
     */
    List<HwAppCustomerVo> queryList(HwAppCustomerBo bo);

    /**
     * 修改用户会员
     */
    Boolean insertByBo(HwAppCustomerBo bo);

    /**
     * 修改用户会员
     */
    Boolean updateByBo(HwAppCustomerBo bo);

    /**
     * 校验并批量删除用户会员信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
    /**
     * 校验账号名是否重复
     * @param appCustomer 账号
     * @return 结果
     */
    String checkAccountUnique(HwAppCustomer appCustomer);

    /**
     * 注册会员
     */
    Boolean registerUser(HwAppCustomer appAccount);
}
